package cn.life.common.utils.PDF;

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;
import com.itextpdf.text.pdf.draw.LineSeparator;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;

/**
 * @Description:
 * @Author 李佳明
 * @Date 2018-10-09 11:01
 */
public class PDFReport {
    /**
     * @author  By SuperChen:
     * @version 创建时间：2016年11月21日 下午2:29:51
     * PDFReportTODO
     */
    Document document = new Document();// 建立一个Document对象

    public PDFReport(String out) {
        try {
            File file = new File(out);
            file.createNewFile();
            Rectangle pageSize = new Rectangle(PageSize.A4);
            document.setPageSize(pageSize);
            PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file));
            PDFBuilder builder = new PDFBuilder();
            writer.setPageEvent(builder);
            document.open();


            PdfUtil pdfUtil = new PdfUtil();
            BaseFont bfChinese = BaseFont.createFont("C:/WINDOWS/Fonts/simhei.TTF", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
            //字体格式
            Font fontChinese11Normal = new Font(bfChinese,11,Font.NORMAL);

            //1.标题
            Paragraph pg_bt = pdfUtil.getHead("市容局审查单",Element.ALIGN_CENTER,50);
            document.add(Chunk.NEWLINE);
            document.add(pg_bt);
            //新增蓝色的线
            Paragraph blueLinePar = pdfUtil.getLineStyle(1,90,new BaseColor(144, 205, 247));
            document.add(blueLinePar);
            document.add(Chunk.NEWLINE);

            //2.主体表格
            Paragraph noPar = pdfUtil.getParagraph("申请票据编号   ： ",fontChinese11Normal,PdfElement.TITLEINDENTATIONLEFT);
            document.add(noPar);
            document.add(Chunk.NEWLINE);

            Paragraph namePar = pdfUtil.getParagraph("申请票据名称   ： ",fontChinese11Normal,PdfElement.TITLEINDENTATIONLEFT);
            document.add(namePar);
            document.add(Chunk.NEWLINE);

            Paragraph companyNamePar = pdfUtil.getParagraph("申请单位名称   ： ",fontChinese11Normal,PdfElement.TITLEINDENTATIONLEFT);
            document.add(companyNamePar);
            document.add(Chunk.NEWLINE);

            Paragraph typePar = pdfUtil.getParagraph("申请审查类型   ： ",fontChinese11Normal,PdfElement.TITLEINDENTATIONLEFT);
            document.add(typePar);
            document.add(Chunk.NEWLINE);

            Paragraph personPar = pdfUtil.getParagraph("申请单位联系人 ： ",fontChinese11Normal,PdfElement.TITLEINDENTATIONLEFT);
            document.add(personPar);
            document.add(Chunk.NEWLINE);

            Paragraph addrPar = pdfUtil.getParagraph("申请单位地址   ： ",fontChinese11Normal,PdfElement.TITLEINDENTATIONLEFT);
            document.add(addrPar);
            document.add(Chunk.NEWLINE);

            Paragraph phonePar = pdfUtil.getParagraph("申请单位电话   ： ",fontChinese11Normal,PdfElement.TITLEINDENTATIONLEFT);
            document.add(phonePar);
            document.add(Chunk.NEWLINE);

            Paragraph streetPar = pdfUtil.getParagraph("申请单位街道   ： ",fontChinese11Normal,PdfElement.TITLEINDENTATIONLEFT);
            document.add(streetPar);
            document.add(Chunk.NEWLINE);

            Paragraph imgPar = pdfUtil.getParagraph("申请票据图片   ： ",fontChinese11Normal,PdfElement.TITLEINDENTATIONLEFT);
            document.add(imgPar);
            document.add(Chunk.NEWLINE);

            int firstX = 130;

            Image image = Image.getInstance("d:\\img1.jpg");  //写入图片
            image.scaleAbsolute(80, 110);// 控制图片大小 (宽,高)
            image.setAbsolutePosition(firstX, 280);// 控制图片位置
            document.add(image);

            Image image1 = Image.getInstance("d:\\img2.jpg");  //写入图片
            image1.scaleAbsolute(80, 110);// 控制图片大小 (宽,高)
            image1.setAbsolutePosition(firstX + 100, 280);// 控制图片位置
            document.add(image1);

            Image image2 = Image.getInstance("d:\\img1.jpg");  //写入图片
            image2.scaleAbsolute(80, 110);// 控制图片大小 (宽,高)
            image2.setAbsolutePosition(firstX + 100 * 2, 280);// 控制图片位置
            document.add(image2);

            Image image3 = Image.getInstance("d:\\img1.jpg");  //写入图片
            image3.scaleAbsolute(80, 110);// 控制图片大小 (宽,高)
            image3.setAbsolutePosition(firstX + 100 * 3, 280);// 控制图片位置
            document.add(image3);

            Image image5 = Image.getInstance("d:\\img1.jpg");  //写入图片
            image5.scaleAbsolute(80, 110);// 控制图片大小 (宽,高)
            image5.setAbsolutePosition(firstX, 160);// 控制图片位置
            document.add(image5);

            Image image6 = Image.getInstance("d:\\img1.jpg");  //写入图片
            image6.scaleAbsolute(80, 110);// 控制图片大小 (宽,高)
            image6.setAbsolutePosition(firstX, 40);// 控制图片位置
            document.add(image6);

            document.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
/*
    public PdfPTable generatePDF() throws Exception{
        PdfPTable table = PdfUtil.createTable(4);
        table.addCell(PdfUtil.createHeadCell("学生信息列表"));
        table.addCell(PdfUtil.createTitleCell("姓名"));
        table.addCell(PdfUtil.createTitleCell("年龄"));
        table.addCell(PdfUtil.createTitleCell("性别"));
        table.addCell(PdfUtil.createTitleCell("地址"));

        for(int i=0;i<6;i++){
            table.addCell(PdfUtil.createCell("姓名" + i));
            table.addCell(PdfUtil.createCell(i + 15 + ""));
            table.addCell(PdfUtil.createCell((i % 2 == 0) ? "男" : "女"));
            table.addCell(PdfUtil.createCell("北京天安门" + i));
        }
        return table;
    }


    public static void main(String[] args) throws Exception {
        System.out.println("pdf导出成功！");
        new PDFReport("d:/test.pdf").generatePDF();
        PdfUtil.addImage("d:/test.pdf", "d:/test2.pdf");
    }*/
}
